# 给你一个字符串 s ，仅反转字符串中的所有元音字母，并返回结果字符串。

# 元音字母包括 'a'、'e'、'i'、'o'、'u'，且可能以大小写两种形式出现不止一次。

 

# 示例 1：

# 输入：s = "hello"
# 输出："holle"
# 示例 2：

# 输入：s = "leetcode"
# 输出："leotcede"
 
class Solution:
    def reverseVowels(self, s: str) -> str:
        tmp = "aeiouAEIOU"
        n = len(s)
        i, j = 0, n-1
        s = list(s)
        while i < j:
            while i < n and s[i] not in tmp:
                i += 1
            while j > 0 and s[j] not in tmp:
                j -= 1
            if i < j: 
                s[i], s[j] = s[j], s[i]
                i += 1
                j -= 1
        return "".join(s)